home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / mint / mntlib43 / mntlib / purec / mintbind.s < prev    next >
Text File  |  1993-05-23  |  5KB  |  391 lines

  1. * reentrant MiNT bindings for Pure C
  2. * hohmuth 29 Aug 92
  3. *
  4. * this module is spezialized for pure c (awaits parameters
  5. * in registers)
  6. *
  7. ; To assemble with MAS (the assembler that comes with Turbo C),
  8. ; delete all instances of the strings ".MODULE" and ".ENDMOD"
  9.  
  10.     .INCLUDE 'osmacros.s'
  11.  
  12.     .EXPORT    Syield, Fpipe, Fcntl, Finstat, Foutstat, Fgetchar, Fputchar
  13.     .EXPORT Pwait, Pnice, Pgetpid, Pgetppid, Pgetpgrp, Psetpgrp
  14.     .EXPORT Pgetuid, Psetuid, Pkill, Psignal, Pvfork, Pgetgid, Psetgid
  15.     .EXPORT Psigblock, Psigsetmask, Pusrval, Pdomain, Psigreturn
  16.     .EXPORT Pfork, Pwait3, Fselect, Prusage, Psetlimit, Talarm, Pause
  17.     .EXPORT Sysconf, Psigpending, Dpathconf, Pmsg, Fmidipipe, Prenice
  18.     .EXPORT    Dopendir, Dreaddir, Drewinddir, Dclosedir, Fxattr, Flink
  19.     .EXPORT Fsymlink, Freadlink, Dcntl, Fchown, Fchmod, Pumask
  20.     .EXPORT Psemaphore, Dlock, Psigpause, Psigaction, Pgeteuid, Pgetegid
  21.     .EXPORT Pwaitpid, Dgetcwd, Salert
  22.     
  23. *
  24. * GEMDOS bindings
  25. *
  26.     
  27.     USER
  28.     
  29. .MODULE    Syield:
  30.  
  31.     SYS_    GEMDOS,#$ff
  32.     rts
  33.  
  34.     .ENDMOD
  35.  
  36. .MODULE    Fpipe:
  37.  
  38.     SYS_L    GEMDOS,#$100,a0
  39.     rts
  40.  
  41.     .ENDMOD
  42.  
  43. .MODULE    Fcntl:
  44.     SYS_WLW    GEMDOS,#$104,d0,d1,d2
  45.     rts
  46.  
  47.     .ENDMOD
  48.  
  49. .MODULE Finstat:
  50.     SYS_W    GEMDOS,#$105,d0
  51.     rts
  52.  
  53.     .ENDMOD
  54.     
  55. .MODULE Foutstat:
  56.     SYS_W    GEMDOS,#$106,d0
  57.     rts
  58.     
  59.     .ENDMOD
  60.  
  61. .MODULE    Fgetchar:
  62.     SYS_WW    GEMDOS,#$107,d0,d1
  63.     rts
  64.     
  65.     .ENDMOD
  66.     
  67. .MODULE Fputchar:
  68.     SYS_WLW    GEMDOS,#$108,d0,d1,d2
  69.     rts
  70.     
  71.     .ENDMOD
  72.  
  73. .MODULE    Pwait:
  74.     SYS_    GEMDOS,#$109
  75.     rts
  76.  
  77.     .ENDMOD
  78.  
  79. .MODULE Pnice:
  80.     SYS_W    GEMDOS,#$10a,d0
  81.     rts
  82.     
  83.     .ENDMOD
  84.  
  85. .MODULE    Pgetpid:
  86.     SYS_    GEMDOS,#$10b
  87.     rts
  88.  
  89.     .ENDMOD
  90.  
  91. .MODULE Pgetppid:
  92.     SYS_    GEMDOS,#$10c
  93.     rts
  94.     
  95.     .ENDMOD
  96.  
  97. .MODULE Pgetpgrp:
  98.     SYS_    GEMDOS,#$10d
  99.     rts
  100.     
  101.     .ENDMOD
  102.  
  103. .MODULE Psetpgrp:
  104.     SYS_WW    GEMDOS,#$10e,d0,d1
  105.     rts
  106.     
  107.     .ENDMOD
  108.  
  109. .MODULE Pgetuid:
  110.     SYS_    GEMDOS,#$10f
  111.     rts
  112.     
  113.     .ENDMOD
  114.  
  115. .MODULE Psetuid:
  116.     SYS_W    GEMDOS,#$110,d0
  117.     rts
  118.     
  119.     .ENDMOD
  120.  
  121. .MODULE    Pkill:
  122.     SYS_WW    GEMDOS,#$111,d0,d1
  123.     rts
  124.  
  125.     .ENDMOD
  126.  
  127. ; CAUTION! We assume the function is given as a long, NOT as a pointer!
  128. ; i.e. Psignal(int sig, long function);
  129. .MODULE    Psignal:
  130.     SYS_WL    GEMDOS,#$112,d0,d1
  131. ;    SYS_WL    GEMDOS,#$112,d0,a0
  132.     rts
  133.  
  134.     .ENDMOD
  135.  
  136. .MODULE Pvfork:
  137.     SYS_    GEMDOS,#$113
  138.     rts
  139.     
  140.     .ENDMOD
  141.  
  142. .MODULE Pgetgid:
  143.     SYS_    GEMDOS,#$114
  144.     rts
  145.     
  146.     .ENDMOD
  147.  
  148. .MODULE Psetgid:
  149.     SYS_W    GEMDOS,#$115,d0
  150.     rts
  151.     
  152.     .ENDMOD
  153.  
  154. .MODULE    Psigblock:
  155.     SYS_L    GEMDOS,#$116,d0
  156.     rts
  157.  
  158.     .ENDMOD
  159.  
  160. .MODULE    Psigsetmask:
  161.     SYS_L    GEMDOS,#$117,d0
  162.     rts
  163.  
  164.     .ENDMOD
  165.  
  166. .MODULE    Pusrval:
  167.     SYS_L    GEMDOS,#$118,d0
  168.     rts
  169.  
  170.     .ENDMOD
  171.  
  172. .MODULE Pdomain:
  173.     SYS_W    GEMDOS,#$119,d0
  174.     rts
  175.     
  176.     .ENDMOD
  177.  
  178. .MODULE    Psigreturn:
  179.     SYS_    GEMDOS,#$11a
  180.     rts
  181.  
  182.     .ENDMOD
  183.  
  184. .MODULE Pfork:
  185.     SYS_    GEMDOS,#$11b
  186.     rts
  187.     
  188.     .ENDMOD
  189.  
  190. .MODULE    Pwait3:
  191.     SYS_WL    GEMDOS,#$11c,d0,a0
  192.     rts
  193.  
  194.     .ENDMOD
  195.  
  196. .MODULE    Fselect:
  197.     SYS_WLLL GEMDOS,#$11d,d0,a0,a1,REGSIZE+4(sp)
  198.     rts
  199.  
  200.     .ENDMOD
  201.  
  202. .MODULE Prusage:
  203.     SYS_L    GEMDOS,#$11e,a0
  204.     rts
  205.     
  206.     .ENDMOD
  207.  
  208. .MODULE Psetlimit:
  209.     SYS_WL    GEMDOS,#$11f,d0,d1
  210.     rts
  211.     
  212.     .ENDMOD
  213.  
  214. .MODULE    Talarm:
  215.     SYS_L    GEMDOS,#$120,d0
  216.     rts
  217.  
  218.     .ENDMOD
  219.  
  220. .MODULE    Pause:
  221.     SYS_    GEMDOS,#$121
  222.     rts
  223.  
  224.     .ENDMOD
  225.  
  226. .MODULE Sysconf:
  227.     SYS_W    GEMDOS,#$122,d0
  228.     rts
  229.     
  230.     .ENDMOD
  231.  
  232. .MODULE Psigpending:
  233.     SYS_    GEMDOS,#$123
  234.     rts
  235.     
  236.     .ENDMOD
  237.  
  238. .MODULE Dpathconf:
  239.     SYS_LW    GEMDOS,#$124,a0,d0
  240.     rts
  241.     
  242.     .ENDMOD
  243.  
  244. .MODULE Pmsg:
  245.     SYS_WLL    GEMDOS,#$125,d0,d1,a0
  246.     rts
  247.     
  248.     .ENDMOD
  249.  
  250. .MODULE Fmidipipe:
  251.     SYS_WWW    GEMDOS,#$126,d0,d1,d2
  252.     rts
  253.     
  254.     .ENDMOD
  255.  
  256. .MODULE Prenice:
  257.     SYS_WW    GEMDOS,#$127,d0,d1
  258.     rts
  259.     
  260.     .ENDMOD
  261.  
  262. .MODULE    Dopendir:
  263.     SYS_LW    GEMDOS,#$128,a0,d0
  264.     rts
  265.  
  266.     .ENDMOD
  267.  
  268. .MODULE    Dreaddir:
  269.     SYS_WLL    GEMDOS,#$129,d0,d1,a0
  270.     rts
  271.  
  272.     .ENDMOD
  273.     
  274. .MODULE Drewinddir:
  275.     SYS_L    GEMDOS,#$12a,d0
  276.     rts
  277.     
  278.     .ENDMOD
  279.  
  280. .MODULE    Dclosedir:
  281.     SYS_L    GEMDOS,#$12b,d0
  282.     rts
  283.  
  284.     .ENDMOD
  285.  
  286. .MODULE Fxattr:
  287.     SYS_WLL    GEMDOS,#$12c,d0,a0,a1
  288.     rts
  289.     
  290.     .ENDMOD
  291.  
  292. .MODULE Flink:
  293.     SYS_LL    GEMDOS,#$12d,a0,a1
  294.     rts
  295.     
  296.     .ENDMOD
  297.  
  298. .MODULE Fsymlink:
  299.     SYS_LL    GEMDOS,#$12e,a0,a1
  300.     rts
  301.     
  302.     .ENDMOD
  303.  
  304. .MODULE Freadlink:
  305.     SYS_WLL    GEMDOS,#$12f,d0,a0,a1
  306.     rts
  307.     
  308.     .ENDMOD
  309.  
  310. .MODULE    Dcntl:
  311.     SYS_WLL    GEMDOS,#$130,d0,a0,d1
  312.     rts
  313.  
  314.     .ENDMOD
  315.  
  316. .MODULE Fchown:
  317.     SYS_LWW    GEMDOS,#$131,a0,d0,d1
  318.     rts
  319.     
  320.     .ENDMOD
  321.  
  322. .MODULE Fchmod:
  323.     SYS_LW    GEMDOS,#$132,a0,d0
  324.     rts
  325.     
  326.     .ENDMOD
  327.  
  328. .MODULE Pumask:
  329.     SYS_W    GEMDOS,#$133,d0
  330.     rts
  331.     
  332.     .ENDMOD
  333.  
  334. .MODULE    Psemaphore:
  335.     SYS_WLL    GEMDOS,#$134,d0,d1,d2
  336.     rts
  337.  
  338.     .ENDMOD
  339.  
  340. .MODULE Dlock:
  341.     SYS_WW    GEMDOS,#$135,d0,d1
  342.     rts
  343.     
  344.     .ENDMOD
  345.  
  346. .MODULE Psigpause:
  347.     SYS_L    GEMDOS,#$136,d0
  348.     rts
  349.     
  350.     .ENDMOD
  351.  
  352. ; CAUTION: we assume the structure addresses are given as longs, NOT
  353. ; as pointers!
  354. .MODULE Psigaction:
  355.     SYS_WLL    GEMDOS,#$137,d0,d1,d2
  356. ;    SYS_WLL    GEMDOS,#$137,d0,a0,a1
  357.     rts
  358.     
  359.     .ENDMOD
  360.  
  361. .MODULE Pgeteuid:
  362.     SYS_    GEMDOS,#$138
  363.     rts
  364.     
  365.     .ENDMOD
  366.  
  367. .MODULE Pgetegid:
  368.     SYS_    GEMDOS,#$139
  369.     rts
  370.     
  371.     .ENDMOD
  372.  
  373. .MODULE Pwaitpid:
  374.     SYS_WWL    GEMDOS,#$13a,d0,d1,a0
  375.     rts
  376.  
  377.     .ENDMOD
  378.  
  379. .MODULE Dgetcwd:
  380.     SYS_LWW GEMDOS,#$13b,a0,d0,d1
  381.     rts
  382.  
  383.     .ENDMOD
  384.  
  385. .MODULE Salert:
  386.     SYS_L    GEMDOS,#$13c,a0
  387.     rts
  388.  
  389.     .ENDMOD
  390.  
  391.